Skip to content

Add experimental SBOM attestations#115

Draft
bomly-guy wants to merge 9 commits into
mainfrom
codex/experimental-sbom-attestations
Draft

Add experimental SBOM attestations#115
bomly-guy wants to merge 9 commits into
mainfrom
codex/experimental-sbom-attestations

Conversation

@bomly-guy

@bomly-guy bomly-guy commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds an experimental SBOM attestation workflow under a new bomly sbom command group.

  • Adds bomly sbom attest and bomly sbom verify.
  • Supports file:<path>, dir:<path>, git, and container:<image@sha256:...> subjects.
  • Treats multi-subproject folders as one whole-folder subject and one attested SBOM claim.
  • Adds internal/attestation for subject resolution, in-toto statement construction, Sigstore bundle-format DSSE signing, verification, and verified SBOM extraction.
  • Documents the experimental trust model, limitations, and usage.
  • Adds TDD guidance for future security-sensitive user-visible features.

Notes

The MVP uses embedded bundle-format signing/verification and does not require users to shell out to cosign. The experimental --keyless mode creates a self-contained local bundle for convenience; Fulcio/OIDC certificate identity verification is intentionally deferred and guarded by validation errors.

Validation

  • go test ./internal/cli ./internal/attestation
  • make test

Add an experimental bomly sbom command group with attest and verify subcommands.

The MVP supports file, directory, git, and immutable container digest subjects. Directory scans are modeled as one whole-folder subject so multi-subproject folders produce one attested SBOM claim. Git subjects require a clean worktree, and container subjects require image@sha256 digest references.

Add internal/attestation for subject resolution, in-toto statement construction, Sigstore bundle-format DSSE signing, verification, and verified SBOM extraction. The experimental local-key/keyless bundle path avoids external cosign shelling while keeping the bundle structure portable.

Document the experimental workflow, trust model, limitations, and TDD guidance for future security-sensitive features. Private Cloud planning notes are intentionally excluded from Git.
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Bomly Diff Summary

Compared d692a82300a8ec83861e31bffa31f8bb6a676423 to 63fdfeeedb68a48b43cc09d60e67dc08443ddd8a.

Overview

Status Manifests Dependencies Findings Duration
⚠️ Warnings introduced +0 / ~1 / -0 +1 / ~0 / -0 1 introduced / 0 persisted / 0 resolved 82974ms

Dependency Changes

Summary: 1 added, 0 changed, 0 removed.

Added Dependencies

Change Package Version Scope Licenses PURL
added github.com/sigstore/protobuf-specs@v0.5.0 v0.5.0 runtime - pkg:golang/github.com/sigstore/protobuf-specs@v0.5.0

Vulnerabilities

✅ No vulnerability changes.

License Changes

✅ No license changes.

Project Posture

✅ No project posture changes (or --matchers +scorecard was not selected).

Policy Findings

Summary: 1 introduced, 0 persisted, 0 resolved.

Introduced Findings

Status Category Severity Disposition ID Package Fixed In Exploitability Title
⚠️ introduced license UNKNOWN warn license:unknown-license:pkg:golang/github.com/sigstore/protobuf-specs@v0.5.0 github.com/sigstore/protobuf-specs@v0.5.0 - - Package license is unknown

@bomly-guy

Copy link
Copy Markdown
Collaborator Author

@copilot resolve the merge conflicts in this pull request

Copilot AI commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Fixed in cd4b426.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants